package com.nekrashevych.itm;

import java.util.HashSet;
import java.util.Set;

/**
 * Please DOCUMENT the meaning of your tags in this file.
 */
public class GenerationTagLiterals {
    // --------------------------
    // Ievgen: already reworked tags.
    // --------------------------
    public static final String ITM_CACHEABLE_OBJ = "itm:cacheableObject";
    public static final String ITM_CACHE_BY_PK_AND_LOCALE = "itm:cacheByPkAndLocale";
    public static final String ITM_CACHE_BY_PK_ONLY = "itm:cacheByPkOnly";
    public static final String ITM_CIRCULAR_OBJECT = "itm:circularObject";
    public static final String ITM_DTO = "itm:dto";
    public static final String ITM_FACTORY_NAME = "itm:factoryName";
    public static final String ITM_GUID = "itm:globallyIdentifiableObject";
    public static final String ITM_QUERY_SERIAL_VER_UID = "itm:querySerialVerUID";
    public static final String ITM_LABEL_DTO_SERIAL_VER_UID = "itm:labelDTOSerialVerUID";
    public static final String ITM_DTO_SERIAL_VER_UID = "itm:dtoSerialVerUID";
    public static final String ITM_TOP_LEVEL_OBJECT = "itm:topLevelObject";
    public static final String ITM_MULTI_TENANT = "itm:multiTenant";
    public static final String ITM_ACTION_CLASS = "itm:actionClass";
    public static final String ITM_ALIAS_ENTITY = "itm:aliasEntity";
    public static final String ITM_AUTOMATIC_KEY_GEN = "itm:automatic-key-generation";
    public static final String ITM_COMPOSITE_SORT = "itm:compositeSortProperty";
    public static final String ITM_EVENT = "itm:event";
    public static final String ITM_FLEX_PAGE = "itm:flexpage";
    public static final String ITM_IMPORTABLE_STAGING_TABLE_ATTRIBUTE = "stagingTable";
    public static final String ITM_IMPORTABLE_STAGING_ORDER_ATTRIBUTE = "importOrder";
    public static final String ITM_GET_LIST_OPTIMIZATION = "itm:getListOptimization";
    public static final String ITM_IMPORTABLE_TYPE_ATTRIBUTE = "type";
    public static final String ITM_IMPORTABLE_OBJECT = "itm:importableObject";
    public static final String ITM_IMPORTABLE_XML_OBJECT = "itm:importableXMLObject";
    public static final String ITM_LOCALE_IMPLEMENTED = "itm:localeImplemented";
    public static final String ITM_LOCALE_IMPLEMENTED_OBJECT = "itm:localeImplementedObject";
    public static final String ITM_SOFT_DELETE = "itm:softdelete";
    public static final String ITM_NO_DATAACCESS_CONTROL = "itm:noDataAccessControl";
    public static final String ITM_ORDERED = "itm:ordered";
    public static final String ITM_SEARCHABLE_OBJECT = "itm:searchableObject";
    public static final String ITM_SECURITY_LITERAL = "itm:securityLiteral";
    public static final String ITM_XSD_OUTPUT_ORDER = "itm:xsdoutputOrder";
    public static final String ITM_DEFAULT_UI_FIELD_ORDER = "itm:UI-field-order";
    public static final String ITM_DEFAULT_UI_FIELD_ORDER_ATTR = "fieldNumber";
    public static final String ITM_PAGE_METADATA = "itm:pageMetadata";
    public static final String ITM_EXTERNAL_FINDER = "itm:externalFinder";
    /* no need */public static final String ITM_EXTERNAL_API = "itm:externalAPI";
    /* no need */public static final String ITM_EXTERNAL_JAVADOC = "itm:externalJavaDoc";

    // --------------------------
    // Ievgen S: field annotations passed
    // --------------------------
    public static final String ITM_BOOLEAN = "itm:boolean";
    public static final String ITM_CODE_TYPE = "itm:codeType";
    public static final String ITM_PARENT_CODE_FIELD = "itm:parentCodeField";
    public static final String ITM_COMPOUND_LABEL = "itm:compoundLabel";
    public static final String ITM_CURRENCY = "itm:currency";
    public static final String ITM_CUSTOM_DTO = "itm:customdto";
    public static final String ITM_DEFAULT_ORDERBY = "itm:default-orderBy";
    public static final String ITM_DELETE_CHECK = "itm:deleteCheck";
    public static final String ITM_DELETE_ON_PARENT_DELETE = "itm:deleteOnParentDeletion";
    public static final String ITM_EXTRACT = "itm:extract";
    public static final String ITM_EXPOSED_OBJECT_TYPE = "itm:exposedObjectType";
    public static final String ITM_SKIP_VALIDATION = "itm:skip-validation";// absent
    /* also worked with class ann */public static final String ITM_FLEX = "itm:flex";
    /* also worked with class ann */public static final String ITM_IMPORTABLE = "itm:importable";
    /* also worked with class ann */public static final String ITM_IMPORTABLE_STAGING_TYPE_NAME = "staging";
    public static final String ITM_IMPORTABLE_STAGING_COLUMN_ATTRIBUTE = "stagingColumn";
    public static final String ITM_IMPORTABLE_STAGING_INDEPENDENT_ATTRIBUTE = "importIndependent";
    public static final String ITM_IMPORTABLE_REQUIRED_RELATIONSHIP = "requiredRelationship";
    public static final String ITM_LABEL = "itm:label";
    public static final String ITM_LOCALE_DEPENDENT = "itm:localeDependent";
    public static final String ITM_LOCALE_KEY = "itm:locale-key";
    public static final String ITM_NO_CHOOSER = "itm:noChooser";
    public static final String ITM_OVERRIDE_TRANSFER_TO_EJB = "itm:overrideTransferToEJB";
    public static final String ITM_REFERENCE_TRANSFER = "itm:referenceInTransfer";
    public static final String ITM_RELATION = "itm:relation";
    public static final String ITM_SEARCHABLE_FIELD = "itm:searchableField";
    public static final String ITM_NESTED_SEARCHABLE_FIELD = "itm:nestedSearchableField";// TODO
    public static final String ITM_SKIP = "itm:skip";
    public static final String ITM_SKIP_TEST = "@itm:skipTest";
    public static final String ITM_SKIP_TRANSFER_TO_EJB = "itm:skipTransferToEJB";
    public static final String ITM_PRESENTATION_TYPE = "itm:presentationType";
    public static final String ITM_TRANSFER_DTO_TYPE = "itm:transferDTOType";
    public static final String ITM_TYPE = "itm:type";
    public static final String ITM_TYPE_ID = "itm:typeId";// absent
    public static final String ITM_USE_ALIAS = "itm:useAlias";
    public static final String ITM_DTO_FIELD_TYPE = "itm:DTOFieldType";
    // ~
    public static final String ITM_USAGE_TYPE = "itm:usage-type";
    public static final String ITM_USAGE_TYPE_ATTR = "type";
    public static final String ITM_USAGE_REQUIRED = "itm:usage-required";
    public static final String ITM_USAGE_REQUIRED_ATTR = "required";
    public static final String ITM_PAGE_METADATA_INVISIBLE = "itm:pageMetadataInvisible";
    public static final String ITM_GRUD_PROPERTIES = "itm:crud-properties";

    // --------------------------
    // Ievgen:CMP!!!
    // --------------------------
    public static final String EJBGEN_CMP_FIELD = "ejbgen:cmp-field";
    public static final String EJBGEN_CMR_FIELD = "ejbgen:cmr-field";
    public static final String EJBGEN_ENTITY = "ejbgen:entity";
    public static final String EJBGEN_FINDER = "ejbgen:finder";
    public static final String EJBGEN_JNDI_NAME = "ejbgen:jndi-name";
    public static final String EJBGEN_LOCAL_METHOD = "ejbgen:local-method";
    public static final String EJBGEN_MESSAGE_DRIVEN = "ejbgen:message-driven";
    public static final String EJBGEN_PRIMKEY_FIELD = "ejbgen:primkey-field";
    public static final String EJBGEN_RELATION = "ejbgen:relation";
    public static final String EJBGEN_SESSION = "ejbgen:session";

    // --------------------------
    // Ievgen:Other
    // --------------------------
    public static final Set ITM_USAGE_TYPE_TYPES = new HashSet();
    static {
        ITM_USAGE_TYPE_TYPES.add("description");
        ITM_USAGE_TYPE_TYPES.add("currency");
        ITM_USAGE_TYPE_TYPES.add("boolean");
        ITM_USAGE_TYPE_TYPES.add("email_address");
        ITM_USAGE_TYPE_TYPES.add("url");
    };

    public static final Set ITM_GRUD_PROPERTIES_TYPES = new HashSet();
    static {
        ITM_GRUD_PROPERTIES_TYPES.add("initialize-default");
    };
}
